﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using log4net;
using Iudicium.Tramites;
using Iudicium.Tramites.CRN;
using Iudicium.Utilitarios;

public partial class Servicios_CategoriaTramite_FormularioCategoriaTramite : System.Web.UI.Page
{
    private static readonly ILog log = LogManager.GetLogger("LogFile");

    private int CategoriaTramiteId
    {
        set { CategoriaTramiteIdHiddenField.Value = value.ToString(); }
        get
        {
            int CategoriaTramiteId = 0;
            try
            {
                CategoriaTramiteId = Convert.ToInt32(CategoriaTramiteIdHiddenField.Value);
            }
            catch (Exception ex)
            {
                log.Error("No se pudo convertir CategoriaTramiteIdHiddenField.Value a un valor entero", ex);
            }
            return CategoriaTramiteId;
        }
    }
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            ObtenerParametros();
        }
    }
    private void ObtenerParametros()
    {
        if (Session["CategoriaTramiteId"] != null && !string.IsNullOrEmpty(Session["CategoriaTramiteId"].ToString()))
        {
            CategoriaTramiteIdHiddenField.Value = Session["CategoriaTramiteId"].ToString();
            CargarDatos();
        }
        Session["CategoriaTramiteId"] = null;
    }
    private void CargarDatos()
    {
        CategoriaTramite objCategoriaTramite = null;
        try
        {
            objCategoriaTramite = CategoriaTramiteCRN.GetCategoriaTramiteById(CategoriaTramiteId);
        }
        catch (Exception ex)
        {
            log.Error("No se pudo obtener la CategoriaTramite con id: " + CategoriaTramiteId, ex);
        }
        if (objCategoriaTramite == null)
            return;
        CategoriaTramiteTextBox.Text = objCategoriaTramite.Descripcion;
    }

    protected void GuardarLinkButton_Click(object sender, EventArgs e)
    {
      CategoriaTramite objcategoriatramite = new CategoriaTramite(CategoriaTramiteId,CategoriaTramiteTextBox.Text);
      if (CategoriaTramiteId == 0)
      {
          try
          {
              CategoriaTramiteId = CategoriaTramiteCRN.InsertCategoriaTramite(objcategoriatramite);
          }
          catch (Exception ex)
          {
              log.Error("No se pudo insertar la CategoriaTramite", ex);
              Iudicium.Utilitarios.Notificacion.MostrarNotificacion(
                  "El registro de la CategoriaTramite no se pudo completar correctamente.",
                  Iudicium.Utilitarios.Notificacion.TipoNotificacion.Error);
              return;
          }
          Iudicium.Utilitarios.Notificacion.MostrarNotificacion(
                  "El registro de la categoriatramite se realizó correctamente.",
                  Iudicium.Utilitarios.Notificacion.TipoNotificacion.Alert);
      }
      else
      {
          try
          {
              CategoriaTramiteCRN.UpdateCategoriaTramite(objcategoriatramite);
          }
          catch (Exception ex)
          {
              log.Error("No se pudo actualizar los datos de la CategoriaTramite", ex);
              Iudicium.Utilitarios.Notificacion.MostrarNotificacion(
                  "Los datos de la CategoriaTramite no se pudieron editar correctamente.",
                  Iudicium.Utilitarios.Notificacion.TipoNotificacion.Error);
              return;
          }
          Iudicium.Utilitarios.Notificacion.MostrarNotificacion(
                  "Los datos de la categoriatramite se editaron correctamente.",
                  Iudicium.Utilitarios.Notificacion.TipoNotificacion.Alert);
      }
      Response.Redirect("~/Servicios/CategoriaTramite/ListaCategoriasTramite.aspx");

    }
}
